"""
类属性:
    写在类中的属性叫做类属性
    公共的属性,会放到类属性里面
    类属性---->指向的这个类 (公共属性)
    成员属性---->指向的是对象  一般是对象的特征(年龄,性别,姓名等)
#类方法:
    1:被@classmethod这个装饰器所修饰
    2:该方法的第一个参数是cls
    3 调用:
        通过cls.类属性/类方法来调用
        类方法不能调用成员方法,成员属性
成员方法:
    可以调用 类属性 ,类方法,成员方法,成员属性
"""

class People:
    name="张三" #类属性

    def __init__(self):
        self.name="123"
        self.age=12

    #类方法
    @classmethod
    def eat(cls):
        print(cls.name)
        # cls.sleep() #报错
        print("吃")
    def sleep(self):
        self.eat()
        print(f"成员方法{self.name}")


#类的外部如何调用
# 语法: 类名.类属性/类方法
# People.eat()
# print(People.name)

p1=People()
p1.sleep()
